package com.hro.hro_app.gcm;

import android.content.Context;
import android.util.Log;

import com.google.android.gcm.GCMRegistrar;
import com.hro.hro_app.model.Device;
import com.hro.hro_app.util.Properties;

public class GCMRegistrationHandler {

	/**
	 * Handel de GCM en applicatieserver registratie af. Indien het device nog niet (GCM) geregistreerd is, registreer het device dan op de GCM server en daarna op de applicatieserver. Indien
	 * het device wel al (GCM) geregistreeerd is, werk dan de registratie op de applicatieserver bij.
	 * 
	 * @param context De applicatiecontext.
	 */
	public static void handle(Context context) {

		// GCMRegistrar.unregister(context);

		// Het device is nog niet geregistreerd op de GCM server, registreer het device op de GCM server en daarna op de applicatieserver.
		if (!GCMRegistrar.isRegistered(context)) {

			Log.i(Properties.TAG, "Device not registered on GCM, register...");
			GCMRegistrar.register(context, Properties.senderId);
		}
		// Het device is al geregistreerd op de GCM server, werk de registratie op de applicatieserver bij.
		else {

			String id = GCMRegistrar.getRegistrationId(context);
			Properties.deviceID = id;
			Log.i(Properties.TAG, "Device already registered on GCM, id..." + id);
			Device device = new Device(id);
			ServerUtil.register(device);
		}
	}
}
